# 第一阶段：构建阶段
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder

# 设置工作目录
WORKDIR /app

# 复制项目文件
COPY . .

# 设置环境变量
ARG TARGETARCH
ENV CGO_ENABLED=0 GOOS=linux GOARCH=$TARGETARCH

# 构建项目
RUN go build -o network-troubleshooting .

# 第二阶段：运行阶段
FROM alpine:latest

# 安装必要的工具
RUN apk --no-cache add ca-certificates bash traceroute iputils tcptraceroute

# 设置工作目录
WORKDIR /app

# 从构建阶段复制可执行文件
COPY --from=builder /app/network-troubleshooting .

# 暴露端口
EXPOSE 8095

# 设置启动命令
CMD ["./network-troubleshooting"]